package a.c;

import java.util.ArrayList;

class l
{
  int a;
  int b;
  ArrayList c;
  ArrayList e;
  
  private l() {}
  
  l(int paramInt)
  {
    this(paramInt, 3);
  }
  
  l(int paramInt1, int paramInt2)
  {
    this.a = paramInt1;
    this.b = paramInt2;
    this.c = new ArrayList();
    for (int i = this.a - 1; i >= 0; i--) {
      this.c.add(new Integer(i));
    }
    this.e = new ArrayList();
  }
  
  private int a(o paramo)
  {
    int i;
    if (this.c.isEmpty())
    {
      a(paramo, this.a, this.a + this.b);
      for (int j = this.a + this.b - 1; j > this.a; j--) {
        this.c.add(new Integer(j));
      }
      i = this.a;
      this.a += this.b;
    }
    else
    {
      i = ((Integer)this.c.remove(this.c.size() - 1)).intValue();
    }
    return i;
  }
  
  x a(o paramo, String paramString)
  {
    int i = a(paramo);
    h localh = new h(i, paramString, this);
    this.e.add(localh);
    a(paramo, i);
    return localh;
  }
  
  n c(o paramo, String paramString)
  {
    int i = a(paramo);
    p localp = new p(i, paramString, this);
    this.e.add(localp);
    a(paramo, i);
    return localp;
  }
  
  void a(o paramo, int paramInt1, int paramInt2)
  {
    for (c localc = paramo.c(); localc != null; localc = paramo.a(localc))
    {
      Object[] arrayOfObject = new Object[paramInt2];
      System.arraycopy(localc.d, 0, arrayOfObject, 0, paramInt1);
      localc.d = arrayOfObject;
    }
  }
  
  void a(c paramc, int paramInt1, int paramInt2)
  {
    Object[] arrayOfObject = new Object[paramInt2];
    System.arraycopy(paramc.d, 0, arrayOfObject, 0, paramInt1);
    paramc.d = arrayOfObject;
  }
  
  void a(o paramo, int paramInt)
  {
    for (c localc = paramo.c(); localc != null; localc = paramo.a(localc)) {
      localc.d[paramInt] = null;
    }
  }
  
  void a(x paramx, o paramo)
  {
    if ((paramx instanceof h))
    {
      h localh = (h)paramx;
      if (localh.e != this) {
        throw new IllegalArgumentException("Map does not belong to this graph!");
      }
      if (localh.a()) {
        throw new IllegalStateException("Map has been already disposed !");
      }
      localh.b();
      int i = ((h)paramx).a;
      if (!this.c.contains(new Integer(i)))
      {
        a(paramo, i);
        this.c.add(new Integer(i));
        this.e.remove(paramx);
      }
    }
  }
  
  void a(n paramn, o paramo)
  {
    if ((paramn instanceof p))
    {
      p localp = (p)paramn;
      if (localp.d != this) {
        throw new IllegalArgumentException("Map does not belong to this graph!");
      }
      if (localp.a()) {
        throw new IllegalStateException("Map has been already disposed !");
      }
      localp.b();
      int i = localp.a;
      if (!this.c.contains(new Integer(i)))
      {
        a(paramo, i);
        this.c.add(new Integer(i));
        this.e.remove(paramn);
      }
    }
  }
  
  x[] a()
  {
    int k = z.f;
    int j = z.e;
    x[] arrayOfx = new x[this.e.size()];
    do
    {
      for (int i = 0; j == 0; i++)
      {
        if (i >= this.e.size()) {
          break;
        }
        if ((k == 0) && (j != 0)) {
          break label69;
        }
        arrayOfx[i] = ((h)this.e.get(i));
      }
    } while (k != 0);
    label69:
    return arrayOfx;
  }
  
  n[] b()
  {
    int k = z.f;
    int j = z.e;
    n[] arrayOfn = new n[this.e.size()];
    do
    {
      for (int i = 0; j == 0; i++)
      {
        if (i >= this.e.size()) {
          break;
        }
        if ((k == 0) && (j != 0)) {
          break label69;
        }
        arrayOfn[i] = ((p)this.e.get(i));
      }
    } while (k != 0);
    label69:
    return arrayOfn;
  }
  
  void a(e parame1, e parame2)
  {
    int k = z.e;
    int i = 0;
    do
    {
      if (i >= this.e.size()) {
        break;
      }
      int j = ((h)this.e.get(i)).a;
      parame2.d[j] = parame1.d[j];
      i++;
    } while (k == 0);
  }
  
  void a(d paramd1, d paramd2)
  {
    int k = z.e;
    int i = 0;
    do
    {
      if (i >= this.e.size()) {
        break;
      }
      int j = ((p)this.e.get(i)).a;
      paramd2.d[j] = paramd1.d[j];
      i++;
    } while (k == 0);
  }
  
  l c()
  {
    l locall = new l();
    locall.a = this.a;
    locall.b = this.b;
    locall.e = ((ArrayList)this.e.clone());
    locall.c = ((ArrayList)this.c.clone());
    return locall;
  }
}


/* Location:           E:\idea\
 * Qualified Name:     a.c.l
 * JD-Core Version:    0.7.0.1
 */